//
//  main.m
//  HomeworkMemorySeniorOC
//
//  Created by zouming MacBook  pro on 15/9/19.
//  Copyright (c) 2015年 邹明. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "OurClass.h"
#import "Teacher.h"
#import "Student.h"


/**
 * 实现班级信息程序
 1、定义3个类:OurClass、Teacher、Student。
 2、Teacher类,属性:姓名、年龄、班级, 方法:考试(exam:)。
 3、Student类,属性:姓名、年龄、学号、成绩, 方法: 比较年龄。
 4、OurClass类,属性: 老师、学生 , 方法:添加学生 和移除学生 。
 提示: 
 1、Person类作为Student、Teacher类的 类,公共属性和 方法写在Person 类中。
 2、Student的成绩为NSMutableDictionary类型,存储课程名称和成绩。
 3、Teacher的考试内部实现随机为班级每个学生的某学科赋值。
 4、OurClass的学生为NSMutableArray类型,内部存Student的对象。
 */
int main(int argc, const char * argv[]) {
    
    @autoreleasepool {
    
        //创建老师对象
        Teacher * teacher = [[Teacher alloc] init];
        //创建班级对象
        OurClass * ourClass = [[OurClass alloc] init];
        //指定老师所在的班级
        teacher.ourClass = ourClass;
        //指定该班级中的老师
        ourClass.teacher = teacher;
        //添加10个学生对象
        for (int i = 0 ; i < 10; i ++) {
            Student * stu = [[Student alloc] init];
            stu.name = [NSString stringWithFormat:@"stu%d",i];//赋值10个学生姓名
            stu.age = arc4random() % (25 - 19 + 1) + 19;//随机学生年龄
            stu.number = i;
            [ourClass addStudent:stu];
            [stu release];
        }
        //为班级学生的OC课程设置成绩
        [teacher exam:@"OC"];
        
        
        //输出所有的学生考试成绩信息
        [ourClass listAllStudent];
                
        [ourClass release];
        [teacher release];
        

    }
    
    return 0;
}
